diff --git a/sklearn/pipeline.py b/sklearn/pipeline.py
index a58979142..23ceb50d6 100644
--- a/sklearn/pipeline.py
+++ b/sklearn/pipeline.py
@@ -876,7 +876,7 @@ class FeatureUnion(TransformerMixin, _BaseComposition):
                                   trans.get_feature_names()])
         return feature_names
 
-    def fit(self, X, y=None):
+    def fit(self, X, y=None, **fit_params):
         """Fit all transformers using X.
 
         Parameters
@@ -887,12 +887,17 @@ class FeatureUnion(TransformerMixin, _BaseComposition):
         y : array-like, shape (n_samples, ...), optional
             Targets for supervised learning.
 
+        fit_params : dict of string -> object
+            Parameters passed to the fit method of each step, where
+            each parameter name is prefixed such that parameter ``p`` for step ``s``
+            has key ``s__p``.
+
         Returns
         -------
         self : FeatureUnion
             This estimator
         """
-        transformers = self._parallel_func(X, y, {}, _fit_one)
+        transformers = self._parallel_func(X, y, fit_params, _fit_one)
         if not transformers:
             # All transformers are None
             return self
@@ -949,7 +954,7 @@ class FeatureUnion(TransformerMixin, _BaseComposition):
             **fit_params) for idx, (name, transformer,
                                     weight) in enumerate(transformers, 1))
 
-    def transform(self, X):
+    def transform(self, X, **fit_params):
         """Transform X separately by each transformer, concatenate results.
 
         Parameters
@@ -957,6 +962,11 @@ class FeatureUnion(TransformerMixin, _BaseComposition):
         X : iterable or array-like, depending on transformers
             Input data to be transformed.
 
+        fit_params : dict of string -> object, optional
+            Parameters passed to the transform method of each step, where
+            each parameter name is prefixed such that parameter ``p`` for step ``s``
+            has key ``s__p``. These parameters will be ignored.
+
         Returns
         -------
         X_t : array-like or sparse matrix, shape (n_samples, sum_n_components)
